//function loadXMLDoc()
//{
//  var xmlhttp;
//  var str;
//   if (window.XMLHttpRequest)
//   {// code for IE7+, Firefox, Chrome, Opera, Safari
//       xmlhttp=new XMLHttpRequest();
//   }
//   else
//   {// code for IE6, IE5
//       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
//   }
//   xmlhttp.onreadystatechange=function()
//   {
//       if (xmlhttp.readyState==4 && xmlhttp.status==200)
//       {
//           str = xmlhttp.responseText;//得到服务器响应
//			 alert(str);
//         // str='["1.js","app.js","app11.js","express_server - 副本 (2).js","express_server - 副本.js","express_server.js","favicon.ico","FindFile.js","formParser.js","hello.js","http.js","httpServer.js","index.html","index.js","index2.html","linshi/","mime.js","mine.js","node_modules/","public/","requestHandlers.js","router.js","server.js","upload/","upload.html","upload.js","www/"]';
//			
//			
//			// json 排序
//			
//			strToJosn(str);
//			
//			//json处理方式
//			DirPa(str);
//			// alert(obj.BlockList.length);
//			// for(var i = 0; i < obj.BlockList.length; i++) 
//			// {
//			// 	  filePath = obj.BlockList[i];
//			// 	  var arr = filePath.split('/');
//			// 	  var len = arr.length;
//			// 	  return arr[len-1];
//			// }
//          //document.getElementById("myDiv").innerHTML=str;
//       }
//  }

function strToJosn(str) {
	// str转换为json 对象
	//				var obj = JSON.parse(str);
	// 第一次 直接遍历出所有一级目录的的文件 并且创建对应的目录的
	var treejosn = "";

	//json数据文件获取信息。
	var vfiles = str.Msg;
	var j = 1;
	var bHas = false; // 记录是否包含有点
	var id = 0;
	//一个总的数组，最大的
	var root = {
		name: "root",
		children: []
	}
	//  name为root 
	var file2 = {
		id: 1,
		pId: 0,
		name: "root",
		open: true,
		dir: 0,
		isParent: true
	};
	//把根结点放进root的孩子数组
	root.children.push(file2);

	var Gid = 1;
	//MSG是一个数组来的。。然后进行遍历。
	for(var i = 0; i < vfiles.length; i++) {
		//节点的名字= 文件的名字
		var vname = vfiles[i].name;
		//对 /进行分割。 判断有没有目录的存在 ，，这里返回的是一个数组    /123/345。txt    这样子进行分割的话。长度是3
		var arr = vname.split('/');
		//数组的长度。。
		var len = arr.length;
		// 当前节点
		var curNode = root;
		//    /123.TXT   长度是2 。那么是文件名称
		if(len == 2) // 最后一个 那么就是文件名称 
		{
			//节点的格式   id pId name
			var file = {
				id: 1,
				pId: 1,
				name: "父节点1 - 展开",
				dir: 0
			};
			file.id = ++Gid;
			file.pId = 1;
			file.name = arr[1];
			file.path = vname;
			file.dir = len - 1;

			//把节点放进root的孩子
			root.children.push(file);
		} else {
			//var dir  =  {id:111, pId:11, name:"叶子节点111",open:true,dir:1};
			//长度不等于2. 那么有目录    比如   /123/234/123.Txt
			var pid = 1; // 根节点   
			//遍历   j=1   直接取第二个元素。即是目录来的   len-1  最后一个元素是文件名称。
			for(var j = 1; j < len - 1; j++) {

				// 查询是否目录目录已经被添加	
				var bFind = false;

				for(var ndir = 0; ndir < root.children.length; ndir++) {
					//这个遍历为了查询root的孩子是否包含此目录 是的话不添加这个目录
					if(root.children[ndir].dir == j) {

						//目录节点的格式
						if(root.children[ndir].name == arr[j]) // 已经有这个阶段 就不需要添加了的
						{
							bFind = true; //root的孩子存在目录。即为true  否则为false 那么就不存在目录。就需要添加目录节点
							pid = root.children[ndir].id;
							break;
						}
					}
				}
				if(!bFind) // 需要新增节点数据 
				{
					var dir = {
						id: 111,
						pId: 11,
						name: "叶子节点111",
						open: false,
						dir: 1,
						isParent: true
					};
					//这里是添加目录节点   isParent: true代表的是目录
					dir.id = ++Gid;
					dir.pId = pid;
					dir.name = arr[1];
					dir.dir = j;
					//放进root的孩子目录
					root.children.push(dir);
					// 如果是倒数文件名称前一级目录的时候 需要置一下当前父节点
					//len-1  就是文件的名称了
					if(j + 1 == len - 1) { // 最后一个数组 是文件名称 
						var file = {
							id: 1,
							pId: 1,
							name: "父节点1 - 展开",
							dir: 0
						};
						file.id = ++Gid;
						file.pId = dir.id;
						file.name = arr[j + 1];
						file.path = vname;
						file.dir = j;
						//加进去数组
						root.children.push(file);
					}
				}
			}
		}

	}
	var setting = {
		callback: {
			beforeClick: onclick
		},
		data: {
			simpleData: {
				enable: true
			}
		}
	};
	//此时所有的节点就完成啦
	$.fn.zTree.init($("#treeDemo"), setting, root.children);
	//				var vet = JSON.stringify(root.children);
}

//获取选择的值。
$(document).ready(function() {
	$("#container2").change(function() {
		var type = $(this).children('option:selected').val();
		getFile(type);
	});

});
//请求数据
function getFile(type) {
	$.ajax({
		url: 'http://192.168.1.18/qdfile/file_query?name=&path=' + type,
//url: 'js/1234.json',
		dataType: 'json',
		success: function(msg) {
			strToJosn(msg);
		}
	});
}
function upLoadFile(name, path) {
	//'http://192.168.1.18/qdfile/file_upload?name=bugzip' + name + '&path=' + path
	$.ajax({
		url: 'http://192.168.1.18/qdfile//file_upload?name=' + name + '&path=' + path,
		dataType: 'json',
		success: function(msg) {
			alert(msg.Msg);
		}
	});
}
//			
function onclick(id, treeNode) {
	//				alert(treeNode.name);
	var str = treeNode.name;
	var fileName = str.split("--")[0];
	$("#edit").val(fileName);
						//			点击文件时赋值给下载文件input的value 
							$("#fileName").val(fileName);
							//			点击文件时赋值给删除 文件input的value 
							$("#deleteFile").val(fileName);
}
//上传文件		
function GetFileUp() {
	//js控制文件选择框打开
	$("#file").click();
	//文件选择框关闭时会执行这个函数
	$("#file").change(function() {
		//这个时候判断是否选择了文件，如果选择了文件那么value肯定有值的
		if($(this).val() == '') {
			//          	alert('meiyouxuanzewenjian');
			//空意味着没有选择文件，，，这里不提交表单
			return false;
		} else {
			//          		alert($(this).val());
			//不为空即选择了文件            这里提交表单
			$("#form1").submit();
			return true;
		}
	});
}

////回调事件
//			var setting = {
//				callback: {
//					//test是一个函数
//					beforeClick: test
//				},
//				view: {
//
//					nameIsHTML: true
//				},
//				data: {
//					//简单数据格式。开启。两种数据格式。一种是简单的，一种的是标准的。现在用的是简单的
//					simpleData: {
//						//开启
//						enable: true
//					}
//				}
//			};
////获取json数据	
//			$(document).ready(function() {
//				//ajax进行get访问后台json数据
//				$.ajax({
//					url: 'js/1234.json',
//					dataType: 'json',
//					success: function(msg) {
//						//msg是访问成功时返回来的数据，就是json字符串{"Reslut":"0",这种
//						var data = msg.Msg;
//						//"Msg": []因为这个属性是一个数组。所以需要for遍历
//						//肯定在这里解决了
//						for(var i = 0; i < data.length; i++) {
//							var len = data[i].name.split("/").length;
//							//新建一个对象，，格式很重要。Ztree指定了两种数据格式。其种这个是简单的格式。包含三个属性 id,pId,name
//							if( len> 1) {
//								//    /123/121.txt
//								//    /123/234/234.txt
//								var test = new Object();
//								test.id = i + 1;
//								test.pId = 0; //表明该ID的父节点是谁，因为都是一级目录。所以是0.如果是2级目录。那么他的pID就是上一个对象的id
//								//这里显示的是节点的名称。想显示什么就在这里修改
//								test.name = "<span style='color:blue;'>" + data[i].name + "--Date:</span>" + data[i].Date + "--Size:" + data[i].Size;
//								Array[i] =test;
//
//							}else if(len >2){
//								var test = new Object();
//								test.id = i + 1;
//								test.pId = 0; //表明该ID的父节点是谁，因为都是一级目录。所以是0.如果是2级目录。那么他的pID就是上一个对象的id
//								//这里显示的是节点的名称。想显示什么就在这里修改
//								test.name = "<span style='color:blue;'>" + data[i].name + "--\t\t\t\t\t\tDate:</span>" + data[i].Date + "--Size:" + data[i].Size;
//								Array[i] = test; //插入数组
//							} else {
//								var test = new Object();
//								test.id = i + 1;
//								test.pId = 0; //表明该ID的父节点是谁，因为都是一级目录。所以是0.如果是2级目录。那么他的pID就是上一个对象的id
//								//这里显示的是节点的名称。想显示什么就在这里修改
//								test.name = "<span style='color:blue;'>" + data[i].name + "--\t\t\t\t\t\tDate:</span>" + data[i].Date + "--Size:" + data[i].Size;
//								Array[i] = test; //插入数组
//							}
//
//						}
//						//				设置给zTree插件
//						$.fn.zTree.init($("#treeDemo"), setting, Array);
//					}
//				});
//			});

//把选择的文件路径显示到input
//新建一个数组。在遍历的时候需要用到
//						var Array = [];
//						//id是节点的id，，treeNode是节点的属性，可以获取节点的name
//						function test(id, treeNode) {
//							//			alert(treeNode.name);
//							//			点击文件时赋值给目录input的value 
//							var str = treeNode.name;
//							var fileName = str.split("--")[0];
////							$("#edit").val(fileName);
//							//			点击文件时赋值给下载文件input的value 
//							$("#fileName").val(fileName);
//							//			点击文件时赋值给删除 文件input的value 
//							$("#deleteFile").val(fileName);
//						}
//
//			//上传文件		
//			function GetFile() {
//				//js控制文件选择框打开
//				$("#file").click();
//				//文件选择框关闭时会执行这个函数
//				$("#file").change(function() {
//					//这个时候判断是否选择了文件，如果选择了文件那么value肯定有值的
//					if($(this).val() == '') {
//						//          	alert('meiyouxuanzewenjian');
//						//空意味着没有选择文件，，，这里不提交表单
//						return false;
//					} else {
//						//          		alert($(this).val());
//						//不为空即选择了文件            这里提交表单
//						$("#form1").submit();
//						return true;
//					}
//				});
//			}